package main

import (
	"fmt"
	"log"
	"newitme/config"
	"newitme/controller"
	"newitme/database"
)

func main() {
	cfg, err := config.LoadConfig("config")
	if err != nil {
		log.Fatal("cannot load config:", err)
	}
	database.InitDB(cfg.DBSource)
	defer database.CloseDB()
	userController := controller.NewUserController()
	// 测试数据库连接
	resew, err2 := database.QueryDB("select name from users ")
	if err2 != nil {
		panic(err2)
	}
	defer resew.Close()
	// 遍历结果集
	for resew.Next() {
		var name string // 根据你的数据库列类型定义变量类型
		// 如果你的查询有更多的列，你需要为每一列都定义一个变量
		// 扫描当前行的数据到变量中
		if err2 := resew.Scan(&name); err2 != nil {
			panic(err2)
		}
		// 打印当前行的数据
		fmt.Printf("name: %s", name)
	}
	// 检查遍历结束后是否有错误发生（比如，由于在遍历过程中调用了rows.Close()）
	if err2 := resew.Err(); err2 != nil {
		panic(err2)
	}
	userController.AddUser("John Doe")
	userController.ShowUserByID(1)
}
